import axios from "axios";
import lang from "@/lang/index.ts";
import store from "@/store";

const { t } = lang.global;
// VITE_BASE_URL
//

// VITE_BASE_URL_CESHI,
const service = axios.create({
  // 公共接口--这里注意后面会讲
  baseURL: import.meta.env.VITE_BASE_URL_OTHER,
  // 超时时间 单位是ms，这里设置了3s的超时时间
  timeout: 20000,
  headers: {
    "X-Requested-With": "XMLHttpRequest",
    "Content-Type": "application/json",
  },
});
// 添加请求拦截器
service.interceptors.request.use(
  (config) => {
    // 在发送请求之前做些什么
  
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    console.log(error,'status');

    return Promise.reject(error);
  }
);

// 添加响应拦截器
service.interceptors.response.use(
  (response) => {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    //  this.$message({
    //    type: "success",
    //    message: response,
    //  });
    // console.log(response);
    // showToast({
    //   message: t("language.commontips.requestfail"),
    // });

    console.log(response, "status44444444444444444");
    // console.log(status);

    return response;
  },
  (error) => {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    // this.$message({
    //   type: 'error',
    //   message:error
    // })
    // showFailToast({
    //   message: "request fail",
    //   duration: 1500,
    // });
    console.log(error,88);
    
    const { response } = error;
    if(!response) return ElMessage.error(t("language.commontips.kefu"));
    if (response.status == 401) {
      ElMessage({
        type: "error",
        duration:1000,
        message: t("language.commontips.tokenfail"),
        onClose: () => {
          localStorage.removeItem("token");
          localStorage.removeItem("info");
          localStorage.removeItem("coinType");
          localStorage.removeItem("coininfo");
          localStorage.removeItem("lang");
          store.commit("SET_LOGIN", true);
        },
      });
    } else if (response.status == 404) {
      ElMessage.error(t("language.commontips.requestfail"));
    } else if (response.status == 400) {
      ElMessage.error(t("language.commontips.requestfail"));
    } else if (response.status == 405) {
      ElMessage.error(t("language.commontips.requestfail"));
    } else {
      ElMessage.error(t("language.commontips.requestfail"));
    }

    return Promise.reject(error);
  }
);

export default service;
